Walkie-talkie with screen to show a list of other walkie-talkies within communication range

ABSTRACT

A device, method, and computer program product for identifying and communicating with digital communication devices within a communication range that includes a transmitter configured to transmit a control signal and a voice signal, a receiver configured to receive the control signal and the voice signal, a user interface unit having a display area, and a computational unit configured to control the transmitter to periodically transmit identifying information as the control signal. The control signal is received as remote identifying information by the other digital communication devices within the communication range. The remote identifying information is displayed on the display area of each of the digital communication devices receiving the control signal.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.10/776,201 filed Feb. 12, 2004, now U.S. Pat. No. 7,299,075, which isincorporated in its entirety herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to a two-way digitalcommunication device and more specifically to a digital communicationand identification device, method, and computer program using two-wayradio-based technology to communicate with other digital communicationdevices and to show a list of other known digital communication devicesthat are available for communication.

2. Discussion of the Background

Two-way radios have become popular communication tools where land-basedtelephone or other communication methods are not well-suited. Thesetwo-way radios generally allow users to communicate with each other overknown radio frequencies within the radio range of the two-way radios.Early two-way radios systems relied on the voice of the user of thetwo-way radio to alert another two-way radio user. As improvements weremade to these systems, other call notification methods became availablesuch as providing an audible tone to a particular two-way radio user. Inmany instances, these notification methods are ineffective because thesender of the call notification does not receive notification of whetherthe recipient is within the communication range of the two-way radio.

Thus, there exists an unmet need in the art for a two-way radio thatnotifies the user when another two-way radio is within or outside theradio range of the two-way radio.

SUMMARY OF THE INVENTION

One object of the present invention is to provide a digitalcommunication device for identifying and communicating with otherdigital communication devices within a communication range, thecommunication device including a transmitter configured to transmit acontrol signal and a voice signal, a receiver configured to receive thecontrol signal and the voice signal, a user interface unit having adisplay area, and a computational unit configured to control thetransmitter to periodically transmit identifying information as thecontrol signal. The control signal is received as remote identifyinginformation by the other digital communication devices within thecommunication range. Information corresponding to at least a portion ofthe remote identifying information is displayed on the display area ofeach of the digital communication devices receiving the control signal.For example, while the control information may include a serial numberand a name, only a portion of the name may be displayed or only alocally stored nickname corresponding to the serial number may bedisplayed.

Another object of the present invention is to provide a method foridentifying and communicating with digital communication devices withina communication range that includes transmitting identifying informationas a control signal periodically, receiving the control signal as remoteidentifying information corresponding to the digital communicationdevices within the communication range; displaying informationcorresponding to at least a portion of the remote identifyinginformation on a display area corresponding to the digital communicationdevices within the communication range, capturing a voice communicationvia a voice input device (e.g., a microphone) and transmitting the voicecommunication as a voice signal upon selection of a transmit button by auser; and receiving the voice signal and outputting the voicecommunication on a speaker upon reception.

Yet another object of the present invention is to provide a computerprogram for identifying and communicating with digital communicationdevices within a communication range that includes a first computer codefor transmitting identifying information as a control signalperiodically, a second computer code for receiving the control signal asremote identifying information corresponding to the digitalcommunication devices within the communication range, a third computercode for displaying information corresponding to at least a portion ofthe remote identifying information on a display area corresponding tothe digital communication devices within the communication range, afourth computer code for capturing a voice communication via a voiceinput device (e.g., a microphone) and transmitting the voicecommunication as a voice signal upon selection of a transmit button by auser, and a fifth computer code for receiving the voice signal andoutputting the voice communication on a speaker upon reception.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1A is an example of the digital communication device according toan embodiment of the present invention;

FIG. 1B is an example of the digital communication device according toan alternate embodiment of the present invention;

FIG. 1C is a block diagram of an exemplary digital communication deviceaccording to an embodiment of the present invention;

FIG. 1D is a block diagram of an exemplary digital communication deviceaccording to an alternate embodiment of the present invention;

FIG. 1E is an example of several digital communication devices andillustrates a communication range according to an embodiment of thepresent invention;

FIG. 1F is an example of several digital communication devices andillustrates a communication path across multiple communication devicesto increase a communication range according to an alternate embodimentof the present invention;

FIG. 1G is an example of several digital communication devicesillustrating advertisers within a communication range according to analternate embodiment of the present invention;

FIG. 2A is a flowchart illustrating the steps of sending anidentification message to another digital communication device bybroadcasting to all devices within a communication range according to anembodiment of the present invention;

FIG. 2B is a flowchart illustrating the steps of identifying anotherdigital communication device within a communication range according toan embodiment of the present invention;

FIG. 2C is a flowchart illustrating the steps of removing theidentification information of a digital communication device no longerwithin a communication range according to an embodiment of the presentinvention;

FIG. 3A is a flowchart illustrating the steps of sending a buddyinvitation message to another digital communication device within acommunication range according to an embodiment of the present invention;

FIG. 3B is a flowchart illustrating the steps of processing buddyinformation sent from another digital communication device within acommunication range according to an embodiment of the present invention;

FIG. 3C is a flowchart illustrating the steps of deleting buddyinformation according to an embodiment of the present invention;

FIG. 4A is a flowchart illustrating the steps of blocking a digitalcommunication device according to an embodiment of the presentinvention;

FIG. 4B is a flowchart illustrating the steps of unblocking a digitalcommunication device according to an embodiment of the presentinvention;

FIG. 5A is a flowchart illustrating the steps of sending a callinvitation to another digital communication device within acommunication range according to an embodiment of the present invention;and

FIG. 5B is a flowchart illustrating the steps of processing a callinvitation sent from another digital communication device within acommunication range according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, wherein like reference numerals designateidentical or corresponding parts throughout the several views, FIG. 1Ais an example of a digital communication device according to anembodiment of the present invention. In this embodiment, the digitalcommunication device 100 includes an enclosure 102 having an antenna118, a user interface 104, a microphone 106, a speaker (not shown), andseveral controls (108, 110, 112, 114 and 116). The digital communicationdevice 100 performs normal walkie-talkie operations using a digitalradio signal in addition to identifying other communication deviceswithin a communication range. For instance, antenna 118 is used toreceive a digital radio signal that is output on a speaker. Also,transmit button 110 may be configured as a push-to-talk such that thevoice of a user is received by a voice input device (e.g., a microphone)106 and transmitted, using antenna 118, as a digital radio signal whiletransmit button 110 is selected. Further, digital communication device100 may operate in a free-for-all mode, an emergency mode, or a normalmode. In the free-for-all and emergency modes, the voice communicationis transmitted as a digital radio signal, and received and output on alldigital communication devices with a communication range. Digitalcommunication device 100 may also configured to transmit a distress callsignal to one or more digital communication devices within acommunication range using a distress button (not shown).

Additionally, multi-purpose button 108 may be configured as a wheel toscroll the user interface 104 or to select one or more user interface104 entries. For instance, multi-purpose button 108 may be configured toperform different operations for scrolling, single-clicking,double-clicking and triple-clicking the multi-purpose button 108.Control buttons (112, 114 and 116) provide additional operationalfunctionality. For instance, multi-purpose and control buttons (108,112, 114 and 116) may be configured as, but not limited to, a transmitbutton, a record button, a play button, a free-for-all mode button, anemergency mode button, a distress call button, a non-verbal text modebutton, a normal mode button, a store button, a block button, an unblockbutton, a group button, an ungroup button, a status button, a menubutton, an exit button, a volume button, and a power button.Additionally, menus are provided to provide these and other operationalfunctionality including configuring configuration parameters. Becausethe digital communication device 100 is a wireless receiver, such devicemay also be configured wirelessly by using, for example, a transmitterconnected to or integrated with a PDA or computer. It is to beunderstood that FIG. 1A illustrates just one of the many possibleembodiments of the digital communication device and that numerousvariations are possible without departing from the scope of the presentinvention.

Referring to FIG. 1B, an example of the digital communication deviceaccording to an alternate embodiment of the present invention is shown.In this embodiment, the digital communication device 101 includes, inaddition to all of the elements shown in FIG. 1A, a multi-purposeinterface 122, a removable memory interface 120 and a camera 124.Multi-purpose interface 122 may be configured as, but not limited to, acomputer interface and a keyboard interface. Removable memory interface120 is configured to a receive a removable memory device. The camera 124may be configured with any standard digital camera. Additionally, userinterface 104 may optionally be configured as a touch screen userinterface.

Referring to FIG. 1C, a block diagram of the digital communicationdevice according to an embodiment of the present invention is shown. Thedigital communication device 100 includes five major sub units (142,144, 146, 148 and 150). Transmitter 142 is configured to transmit adigital radio control signal and a voice signal. The digital radiocontrol signal and the voice signal may either be transmittedcollectively as a single digital radio transmission or separately asmultiple digital radio transmissions. Transmitter 142 may optionally beconfigured to transmit a digital radio non-verbal text signal. Receiver144 is configured to receive the digital radio control and voicesignals. Receiver 144 may optionally be configured to receive a digitalradio non-verbal text signal. The digital communication device utilizes,but is not limited to, a 900 MHz digital radio frequency using spreadspectrum (or other frequency hopping) technology to transmit and receivedigital radio signals within a communication range of approximately 1mile. The digital communication device may utilize other protocolsincluding, but not limited to, Blue tooth, Wi-Fi, Code Division MultipleAccess (CDMA), Time Division Multiple Access (TDMA), Frequency DivisionMultiple Access (FDMA), Global System for Mobile communication (GSM),and the like. Computational unit 148 includes a CPU which may beimplemented as any type of processor including commercially availablemicroprocessors from companies such as Intel, AMD, Motorola, Hitachi,NEC, and Microchip.

The transmitter 142 performs communication with other digitalcommunication devices using a “private, non-commercial network.” As usedhereinafter, a “private, non-commercial network” is defined as a networkwhere (1) the transmitter 142 is dedicated to home or office use and (2)a periodic fee is not paid to a commercial institution for the right tosend messages. (The term, however, does not exclude paying agovernmental fee for the right to transmit a message, if required.) In apreferred embodiment of the private, non-commercial network, thetransmitter 142 transmits directly to other digital communicationdevices without utilizing fixed towers to re-transmit the digital radiotransmissions. In an alternate embodiment of the private, non-commercialnetwork, the transmitter 142 transmits to any compatible deviceincluding fixed towers within a communication range of the digitalcommunication device 100, as shown in FIG. 1F and described below.

The computational unit 148 is configured to control the transmitter 142to periodically transmit unique identifying information as a controlsignal to other digital communication devices within a communicationrange of the digital communication device 100. For instance, as shown inFIG. 1E, several digital communication devices (100 a-100 d) are withinthe communication range 178 of digital communication device 100, whileseveral other digital communication devices (100 e-100 g) are outsidethis communication range 178. The computation unit 148 for each of thedigital communication devices (100-100 g) is configured to periodicallytransmit identifying information as a control signal. In this case, acontrol signal transmitted by the digital communication devices (100a-100 d) within the communication range 178 will be periodicallyreceived by digital communication device 100. Computation unit 148 isfurther configured to control the receiver 144 to receive these controlsignals and to control the user interface unit 146 to display theidentifying information received. Identifying information includes atleast a unique identifier that uniquely identifies each digitalcommunication device and optionally includes a name or nickname. Statusinformation corresponding to the current status of digital communicationdevices (100-100 g) may optionally be included as a part of theidentifying information or transmitted separately with a STATUS messageas a control signal. The status of the digital communication devices(100-100 g) may be set automatically by the digital communicationdevices (100-100 g) as an indication of a hardware state, or may be setmanually by the user. A user may select a status from a selectable listof built-in states of the user interface 146. The status may include,but is not limited to, “I'm Busy”, “I'm Sleepy”, “Do Not Disturb”, “I'mDay Dreaming”, and “Hardware Failure”. Storage unit 150 may include, butis not limited to, any type of storage medium including floppy disks,optical disks, CD-ROMs, magneto-optical disks, ROMs, RAMs, EPROMs,EEPROMs, flash memory, magnetic or optical cards, or any other storagemedium including a database. Storage unit 150 contains at least aWITHIN_RANGE_LIST 152 and configuration parameters 160. Storage unit 150may optionally contain BLOCK_LIST 154, BUDDY_LIST 156 and GROUP_LIST158. Again, it is to be understood that FIG. 1C illustrates just one ofthe many possible embodiments of the digital communication device andthat numerous variations are possible without departing from the scopeof the present invention. For instance, WITHIN_RANGE_LIST 152,configuration parameters 160, BLOCK_LIST 154, BUDDY_LIST 156 andGROUP_LIST 158 may optionally be stored as tables in a databasecontained in storage unit 150.

Referring to FIG. 1D, a block diagram of the digital communicationdevice according to an alternate embodiment of the present invention isshown. In this embodiment, the digital communication device 103includes, in addition to all of the elements shown in FIG. 1C, eightadditional units (162, 164, 166, 168, 170, 172, 174 and 176) and aCONTACT_LIST 177.

Voice processing unit 162 is configured to process voice communicationcaptured via microphone 106. For instance, voice processing unit 162 maybe configured for voice recognition, such that the digital communicationdevice is operated using voice commands. Voice processing unit 162 mayalso be configured to digitally store voice communication using storageunit 150 as a voice recording to be either output on a speaker (notshown) or transmitted at some time in the future. Further, voiceprocessing unit 162 may be configured to work in conjunction withencryption/decryption unit 172 to provide an encoded secure transmissionbetween two or more digital communication devices (100 a-100 g). In thisconfiguration, encryption/decryption unit 172 encrypts a communicationbefore the transmission by transmitter 142 and decrypts thecommunication upon reception by receiver 144. Encryption/decryption unit172 may be configured to utilized any standard encryption/decryptiontechnology.

Video processing unit 164 is configured to process video that may beprovided from camera 124. For instance, video processing unit 164 may beconfigured to digitally store video as a multimedia recording usingstorage unit 150, to be either displayed on user interface 104 ortransmitted at some time in the future. Video processing unit 164 mayalso be configured to operate with transmitter 142 to transmit voice andvideo simultaneously upon selection of the transmit button 110 by auser.

Digital communication device 103 may be equipped with the capability togeographically locate itself, for example, through a Global PositioningSystem (GPS) capability. The Global Positioning System (GPS) is anexample of a radio-based technology that is used to provide an earthbased position using orbiting space satellites. GPS receiver 168receives radio frequency signals from radio-based transmitters (e.g.,GPS satellites or ground stations). These radio frequency signals areused to calculate the current location of the digital communicationdevice 103. Compass 170 is configured to provide directional informationto the digital communication device 103. For instance, compass 170 maybe configured as a traditional compass to display the current headingrelative to magnetic North that the digital communication device 103 isfacing on user interface 104. Additionally, compass 170 may be used tocompute a relative direction from the digital communication device 103to another digital communication device (100 a-100 g).

Other units include a clock 166, a run-time engine 174, and a securityunit 176. The clock 166 is configured to display the current time onuser interface 104. Run-time engine 174 is configured to execute acomputer program that is written in, but not limited to, Java, C#,Basic, Assembler, C and C++ programming languages. Additional computerprograms may be downloaded to expand the capability of the digitalcommunication device 103. For instance, a computer game program may bedownloaded or preconfigured in the digital communication device 103.Security unit 176 is configured to provide additional security featuresto the digital communication device 103, such as password, voice andfingerprint authentication.

Additionally, storage unit 150 is configured to maintain a list ofcontact information in CONTACT_LIST 177. For instance, as is well knownin the art, contact information may include a name, telephone number,fax number, and address. The contact information in CONTACT_LIST 177 maybe displayed on user interface 104 or transmitted to another digitalcommunication device (100 a-100 g).

As an example, FIGS. 1A and 1E show several digital communicationdevices, 100 a, 100 b, 100 c and 100 d, which are displayed on userinterface 146 as a selectable collection of names, WARREN, MARK, EDWINand CHUNG, respectively, on digital communication device 100. Each ofthe digital communication devices (100 a, 100 b, 100 c and 100 d)periodically transmit identifying information that is unique to thedigital communication device as a digital control signal, such thatdigital communication device 100 can immediately determine which otherdigital communication devices (100 a, 100 b, 100 c and 100 d) are withina communication range 178 by receiving identifying information from eachof the other digital communication devices (100 a, 100 b, 100 c and 100d). Whether a digital communication device (100 a, 100 b, 100 c and 100d) is no longer within the communication range 178 can also bedetermined by the absence of periodic identifying information receivedfrom that communication device (100 a, 100 b, 100 c and 100 d).

Referring to FIG. 1F, an example of several digital communicationdevices illustrating a communication path across multiple communicationranges according to an alternate embodiment of the present invention isshown. In this alternate embodiment, the effective communication rangeis extended by utilizing other digital communication devices as adigital communication relay or router. As an example, shown in FIG. 1F,digital communication device 100 has a communication range 180 thatincludes digital communication device 100 b, but does not includedigital communication device 100 c. Digital communication device 100 bis within communication ranges 180 and 182. Accordingly, a communicationpath 184 is established from digital communication device 100 to digitalcommunication device 100 b. Digital communication device 100 b acts as arelay or hop to establish a communication path 186 to digitalcommunication device 100 c. Thus, a control signal and/or voice signalmay be transmitted from digital communication device 100 to digitalcommunication device 100 c using communication paths 184 and 186.Thereby, the effective communication range is extended to thecommunication range of all digital communication devices (100 a and 100b) within the communication range 178 of digital communication device100. Any compatible device including fixed towers within thecommunication range 178 of digital communication device 100 may act as arelay.

Whether a digital communication device acts as a relay or utilizes arelay of another digital communication device to extend its effectivecommunication range is configurable by the user. For instance, the relaycapability or utilizing a relay may be disable or enabled by the user.Further, the relay capability may be limited to a subset of digitalcommunication devices (100 a and 100 b), such as only those usersrepresented in the BUDDY_LIST. Also, the number of hops may be limitedby the user. For instance, a digital communication device may beconfigured to utilize only one relay or hop to extend the effectiverange.

Referring to FIG. 1G, an example of several digital communicationdevices illustrating advertisers within a communication range accordingto an alternate embodiment of the present invention is shown. In thisalternate embodiment, the receiver 144 is configured to receiveadvertisements from advertisers (190 a and 190 b) within a communicationrange 178. The advertisers (190 a-190 c) may operate on the same and/oran alternate digital radio frequency, and are configured to periodicallytransmit identifying information and/or advertisements as a controlsignal and/or voice signal. In this case, an advertisement transmittedby the advertisers (190 a and 190 b) within the communication range 178will be periodically received by digital communication device 100.Computation unit 148 is further configured to control the receiver 144to receive these advertisements, and to control the user interface unit146 to display the advertisements received.

Referring to FIG. 2A, a flowchart illustrating the steps of sending anidentification message to another digital communication device within acommunication range according to an embodiment of the present inventionis shown. The computational unit 148 is configured to controltransmitter 142 to periodically transmit an IDENTIFY message at Block206. The IDENTIFY message contains at least an identifier uniquelyidentifying the digital communication device from which the IDENTIFYmessage was sent. The IDENTIFY message may also contain a namearbitrarily assigned by a user of the digital communication device as aconfiguration parameter 160. At Block 204, the computation unit sets aninternal timer to send a message in T1 seconds. For instance, a defaulttime T1 of 1 second between IDENTIFY messages may be built into thedigital communication device during manufacture or assigned by the userand stored as a configuration parameter 160. The time T1 betweenIDENTIFY messages may be changed either dynamically or automaticallybased on the network load.

Referring to FIG. 2B, a flowchart illustrating the steps of identifyinganother digital communication device within a communication rangeaccording to an embodiment of the present invention is shown. Thecomputational unit 148 is configured to control receiver 144 to wait foran IDENTIFY message and subsequently receive the IDENTIFY message atBlocks 224 and 226. An IDENTIFY message includes at least a remoteidentifier (source_id) that uniquely identifies the transmitting digitalcommunication device (100 a-100 d) from which the IDENTIFY message wassent. The IDENTIFY message may also include an arbitrary name assignedby the user of the transmitting digital communication device (100 a-100d). WITHIN_RANGE_LIST 152 is read to determine if the transmittingdigital communication device (100 a-100 d) has recently sent an IDENTIFYmessage (Blocks 228, 230 and 234), thereby indicating that thetransmitting digital communication device (100 a-100 d) is within thecommunication range of the digital communication device 100. If thetransmitting digital communication device (100 a-100 d) has not recentlytransmitted an IDENTIFY message, then at least a timestamp and a remoteidentifier (source_id) that uniquely identifies the transmitting digitalcommunication device (100 a-100 d) are added to the WITHIN_RANGE_LIST152 at Block 236. Otherwise, if the transmitting digital communicationdevice (100 a-100 d) has recently transmitted an IDENTIFY message, thenat least the timestamp is updated at Block 232. The user may optionallybe notified that an entry is added to the WITHIN_RANGE_LIST 152 at Block236 by means of an audible signal, a visual indication, or a vibration.For instance, the current number of entries contained within theWITHIN_RANGE_LIST 152 may be visually indicated on user interface 104.

Referring to FIG. 2C, a flowchart illustrating the steps of removing theidentification information of a digital communication device no longerwithin a communication range according to an embodiment of the presentinvention is shown. The computational unit 148 is configured toperiodically read the WITHIN_RANGE_LIST 152 to determine if any of theentries have not been updated by an IDENTIFY message recently, shown assteps 240. At Block 244, the computation unit sets an internal timer tocontinue in T2 seconds. For instance, a default time T2 of 30 secondsmay be built into the digital communication device during manufacture orassigned by the user and stored as a configuration parameter 160. AtBlock 246, an entry from the WITHIN_RANGE_LIST 152 is read. At LogicBlock 248, it is determined if the timestamp for this entry has beenupdated within T3 seconds. For instance, a default time T3 of 60 secondsmay be built into the digital communication device during manufacture orassigned by the user and stored as a configuration parameter 160. If thetimestamp has not been updated within T3 seconds, then the entry isdeleted from the WITHIN_RANGE_LIST 152 at Block 250. The user mayoptionally be notified that an entry is deleted from theWITHIN_RANGE_LIST 152 at Block 250 by means of an audible signal, avisual indication, or a vibration. Processing continues and the nextentry in the WITHIN_RANGE_LIST is read until the entireWITHIN_RANGE_LIST has been read (Bocks 246, 248, 250 and 262). It is tobe understood that other sleep times T1-T3 are possible withoutdeparting from the scope of the present invention.

Referring to FIG. 3A, a flowchart illustrating the steps of sending abuddy invitation message to another digital communication device withina communication range according to an embodiment of the presentinvention is shown. At Blocks 304 and 306, the appropriate digitalcommunication device to be added as a buddy is selected. At Block 308,the user is optionally prompted to confirm that the correct digitalcommunication device to be added as a buddy has been selected. At LogicBlock 310, the user confirmation is determined. If the user did notconfirm the selection, then processing is ended as shown at Block 326.Otherwise, computational unit 148 is configured to control transmitter142 to transmit a BUDDY_INVITATION message at Block 312. ABUDDY_INVITATION message includes at least the unique identifier (id) ofdigital communication device 100 and a remote identifier (target_id)that uniquely identifies the digital communication device (100 a-100 d)to be added as a buddy. The computational unit 148 is configured tocontrol receiver 144 to wait for a response message and subsequentlyreceive either a BUDDY_ACCEPT or BUDDY_DENY message as a response atBlocks 314 and 316. At Logic Block 318, it is determined whether aBUDDY_ACCEPT or BUDDY_DENY message was received. If a BUDDY_DENY messagewas received, then the user is notified of the denial at Block 320.Otherwise, if a BUDDY_ACCEPT message was received, then the user isnotified of the acceptance at Block 322 and the remote identifier(target_id) is added to the BUDDY_LIST 156 of digital communicationdevice 100. It is to be understood that the BUDDY_ACCEPT and BUDDY_DENYmessages may be a single response message indicating an acceptance ordenial without departing from the scope of the present invention.Optionally, the current number of corresponding entries contained in theWITHIN_RANGE_LIST and the BUDDY_LIST may be visually indicated on userinterface 104.

Referring to FIG. 3B, a flowchart illustrating the steps of processingbuddy information sent from another digital communication device withina communication range according to an embodiment of the presentinvention is shown. The computational unit 148 is configured to controlreceiver 144 to wait for a BUDDY_INVITATION message and subsequentlyreceive the BUDDY_INVITATION message at Blocks 344 and 346. At Block348, the user is prompted to choose whether to accept or deny the buddyinvitation. At Logic Block 350, the user selection to accept or deny thebuddy invitation is determined. If the user chooses to deny the buddyinvitation, then computational unit 148 is configured to controltransmitter 142 to transmit a BUDDY_DENY message at Block 352.Otherwise, computational unit 148 is configured to control transmitter142 to transmit a BUDDY_ACCEPT message at Block 354. Processing thenresumes at Block 344.

Referring to FIG. 3C, a flowchart illustrating the steps of deletingbuddy information according to an embodiment of the present invention isshown. The computational unit 148 is configured to control receiver 144to wait for a BUDDY_DELETE message and subsequently receive theBUDDY_DELETE message at Blocks 384 and 386. At Block 388, an entry fromthe BUDDY_LIST 156 is read. Note that a BUDDY_DELETE message istransmitted by another digital communication device upon request by auser. At Logic Block 390, it is determined if the entry matches thedigital communication device to be deleted as a buddy. If the entry doesnot match, then processing continues and the next entry in theBUDDY_LIST 156 is read until the entire BUDDY_LIST 156 has been read(Blocks 388, 390 and 392). Otherwise, if the entry does match, then theentry is deleted from the BUDDY_LIST at Block 394. Next, the user isnotified of the deletion at Block 396. Processing then resumes at Block384.

Referring to FIG. 4A, a flowchart illustrating the steps of blocking adigital communication device according to an embodiment of the presentinvention is shown. At Blocks 404 and 406, the appropriate digitalcommunication device to be blocked is selected. At Block 408, the useris optionally prompted to confirm that the correct digital communicationdevice to be blocked has been selected. At Logic Block 410 the userconfirmation is determined. If the user did not confirm the selection,then processing is ended as shown at Block 416. Otherwise, the selecteddigital communication device to be blocked is added to the BLOCK_LIST154. Finally, the user is not notified of the block at Block 414.

Referring to FIG. 4B, a flowchart illustrating the steps of unblocking adigital communication device according to an embodiment of the presentinvention is shown. At Blocks 424 and 426, the appropriate digitalcommunication device to be unblocked is selected. At Block 428, the useris optionally prompted to confirm that the correct digital communicationdevice to be unblocked has been selected. At Logic Block 430, the userconfirmation is determined. If the user did not confirm the selection,then processing is ended as shown at Block 442. Otherwise, at Block 432,an entry from the BLOCK_LIST 154 is read. At Logic Block 434, it isdetermined if this entry matches the digital communication device (100a-100 g) to be unblocked. If the entry does not match, then processingcontinues and the next entry in the BLOCK_LIST 154 is read until theentire BUDDY_LIST 154 has been read (Blocks 432, 434 and 436).Otherwise, if the entry does match, then the entry is deleted from theBLOCK_LIST at Block 438. Next, the user is notified of the deletion atBlock 440.

Referring to FIG. 5A, a flowchart illustrating the steps of sending acall invitation to another digital communication device within acommunication range according to an embodiment of the present inventionis shown. At Blocks 504 and 506, the appropriate digital communicationdevice to call is selected by the user. Computational unit 148 isconfigured to control transmitter 142 to transmit a CALL_INVITATIONmessage at Block 508. A CALL_INVITATION message includes at least theunique identifier (id) of digital communication device 100 and one ormore remote identifiers (target_id1, . . . , target_idN) that uniquelyidentify the digital communication device or devices (100 a-100 d) tocall. The computational unit 148 is configured to control receiver 144to wait for a response message and subsequently receive either aCALL_ACCEPT or CALL_DENY message as a response at Blocks 510 and 512. AtLogic Block 514, it is determined whether a CALL_ACCEPT or CALL_DENYmessage was received. If a CALL_DENY message was received, then the useris notified of the denial at Block 516. Otherwise, if a CALL_ACCEPTmessage was received, then the user is notified of the acceptance atBlock 518. Computational unit 148 may optionally be configured tocontrol transmitter 142 to transmit a CALL_IN_PROGRESS message at Block520. The CALL_IN_PROGRESS message is received by other digitalcommunication devices (100 a-100 d) within the communication range 178and may be used to display calls in progress on their respective userinterface units 146. At Block 522, the voice communication is processedbetween the source and target digital communication devices. The voicecommunication may be terminated by a user volitionally or bycommunication inactivity. Next, computational unit 148 may optionally beconfigured to control transmitter 142 to transmit a CALL_ENDED messageat Block 524. It is to be understood that the CALL_ACCEPT and CALL_DENYmessages may be a single response message indicating an acceptance ordenial without departing from the scope of the present invention.

Referring to FIG. 5B, a flowchart illustrating the steps of processing acall invitation sent from another digital communication device within acommunication range according to an embodiment of the present inventionis shown. The computational unit 148 is configured to control receiver144 to wait for a CALL_INVITATION message and subsequently receive theCALL_INVITATION message at Blocks 544 and 546. At Block 548, an entryfrom the BLOCK_LIST 154 is read. At Logic Block 550, it is determined ifthis entry matches the digital communication device (100 a-100 d)requesting a call invitation. If the entry does not match, thenprocessing continues and the next entry in the BLOCK_LIST 154 is readuntil the entire BLOCK_LIST 154 has been read (Blocks 548, 550 and 554).If the entry does match, then computational unit 148 is configured tocontrol transmitter 142 to transmit a CALL_DENY message at Block 552.Otherwise, if an entry matching the digital communication device (100a-100 d) requesting a call invitation is not found in the BLOCK_LIST154, then at Block 556, the user is optionally prompted to accept thecall invitation. At Logic Block 558, the user acceptance is determined.If the user did not accept the call invitation, then computational unit148 is configured to control transmitter 142 to transmit a CALL_DENYmessage at Block 560. Otherwise, computational unit 148 is configured tocontrol transmitter 142 to transmit a CALL_ACCEPT message at Block 562.A CALL_ACCEPT message includes at least the unique identifier (id) ofdigital communication device 100 and a remote identifier (target_id)that uniquely identifies the digital communication device (100 a-100 d)requesting a call invitation. At Block 564, the user is optionallynotified that the call was accepted. This notification may be by anynumber of means including an audio tone or a graphical pop-up.Computational unit 148 may optionally be configured to controltransmitter 142 to transmit a CALL_IN_PROGRESS message at Block 566. AtBlock 568, the voice communication is processed between the source andtarget digital communication devices. Again, the voice communication maybe terminated by a user volitionally or by communication inactivity.Next, computational unit 148 may optionally be configured to controltransmitter 142 to transmit a CALL_ENDED message at Block 570.

Although the BUDDY_INVITATION, BUDDY_ACCEPT, BUDDY_DENY,CALL_INVITATION, CALL_ACCEPT and CALL_DENY messages are received by allof the digital communication devices (100-100 d) within a communicationrange 178, they are ignored by the digital communication devices(100-100 d) that do not match the target identifier contained withinthese messages. Thus, even though these messages are broadcast, theyappear to be targeted to a particular digital communication device ordevices. Additionally, computational unit 148 may optionally beconfigured to encrypt all digital radio communication beforetransmission and to decrypt the digital radio communication afterreception by the target digital communication device (100-100 d).Further, although the interface is described in terms of the buttons,the operations described can be done using a voice command of the userspeaking into microphone 106.

The processes and mechanisms set forth in the present description may beimplemented using a conventional general purpose microprocessorprogrammed according to the teachings in the present specifications, aswill be appreciated to those skilled in the relevant art. Appropriatesoftware can be prepared based upon the teachings of the presentdisclosure, as will also be apparent to those skilled in the relevantarts.

The present invention thus includes a computer program which may behosted on a storage medium and includes instructions which perform theprocesses set forth in the present specification. The storage medium caninclude, but is not limited to, any type of disk including floppy disks,optical disks, CD-ROMs, magneto-optical disks, ROMs, RAMs, EPROMs,EEPROMs, flash memory, magnetic or optical cards, or any type of mediasuitable for storing electronic instructions.

Obviously, numerous modifications and variations of the presentinvention are possible in light of the above teachings. It is thereforeto be understood that within the scope of the appended claims, theinvention may be practiced otherwise than as specifically describedherein.

1. A digital communication device comprising: means for transmittingidentifying information as a first control signal periodically directlyto other digital communication devices without utilizing fixed towers tore-transmit the first control signal; means for receiving at least onesecond control signal as remote identifying information corresponding tothe other digital communication devices within the communication rangedirectly from the other digital communication devices without utilizingfixed towers to re-transmit the second control signal; means fordisplaying information corresponding to at least a portion of the remoteidentifying information received from the other digital communicationdevices within the communication range, wherein the information isdisplayed as a selectable list to create a selected set of digitalcommunication devices; means for transmitting a voice communication as avoice signal to the selected set of digital communication devices whilea transmit button is selected; wherein the voice signal is received bythe selected set of digital communication devices and the voicecommunication is output on a speaker of the selected set of digitalcommunication devices.
 2. The digital communication device according toclaim 1, wherein the communication range comprises a local communicationrange corresponding to the digital communication device and an extendedcommunication range, at least one of the first control signal and thefirst voice signal is transmitted from the digital communication deviceto a second digital communication device within the local communicationrange, and the at least one of the first control signal and the firstvoice signal is transmitted from the second digital communication deviceto a third digital communication device outside the local communicationrange and within the extended communication range.
 3. The digitalcommunication device according to claim 1 further comprising afree-for-all mode button and means for transmitting voice communicationas the voice signal to the other digital communication devices incombination with selection of the free-for-all mode button such that thevoice signal is received by the other digital communication devices andthe voice communication is output on a speaker of the other digitalcommunication devices.
 4. The digital communication device according toclaim 1 further comprising an emergency mode button and means fortransmitting a voice communication as a voice signal to the otherdigital communication devices in combination with selection of theemergency mode button such that the voice signal is received by theother digital communication devices and the voice communication isoutput on a speaker of the other digital communication devices.
 5. Thedigital communication device according to claim 1 further comprising adistress call button and means for transmitting a distress call signalto the other digital communication devices in combination with selectionof the distress call button such that the distress call signal isreceived by the other digital communication devices and the distresscall signal is represented on the other digital communication devices byat least one of an audible signal output on a speaker, a visualindication displayed on a display area, and a vibration.
 6. The digitalcommunication device according to claim 1 further comprising means forblocking voice communication from the other digital communicationdevices that correspond to one or more digital communication devicesselected from the selectable list.
 7. The digital communication deviceaccording to claim 1, wherein the means for receiving receives one ormore advertisements, and the means for displaying displays the one ormore advertisements.
 8. The digital communication device according toclaim 1, further comprising a means for determining a current locationfrom radio signals.
 9. The digital communication device according toclaim 8, wherein the radio signals comprise Global Positional System(GPS) orbiting space satellite signals.
 10. The digital communicationdevice according to claim 8, wherein the current location is displayedon means for displaying.
 11. The digital communication device accordingto claim 8, wherein the identifying information includes the currentlocation.
 12. The digital communication device according to claim 8,wherein a relative direction is displayed on the means for displayingand corresponds to the current location of at least one of the otherdigital communication devices.
 13. A digital communication device foridentifying and communicating with other digital communication devices,comprising: a transmitter configured to transmit a first control signaland a first voice signal directly to other digital communication deviceswithout utilizing fixed towers to re-transmit the first control signaland the first voice signal; a receiver configured to receive a secondcontrol signal and a second voice signal directly from at least one ofthe other digital communication devices without utilizing fixed towersto re-transmit the second control signal and the second voice signal; acomputational unit configured to control the transmitter to periodicallytransmit identifying information with the first control signal, thefirst control signal being received as remote identifying information bythe other digital communication devices within the communication range;a user interface having a display area to display informationcorresponding to at least a portion of the second control signalreceived from the other digital communication devices, wherein theinformation is displayed on the display area as a selectable list tocreate a selected set of digital communication devices; wherein the userinterface includes a transmit button, and the computational unit isconfigured to control the transmitter to transmit to the selected set ofdigital communication devices a voice communication as the first voicesignal while the transmit button is selected, wherein the first voicesignal is received by the other digital communication devices within thecommunication range, and wherein the voice communication is outputexclusively on a speaker of the selected set of digital communicationdevices within the communication range.
 14. The digital communicationdevice according to claim 13, wherein the communication range comprisesa local communication range corresponding to the digital communicationdevice and an extended communication range, at least one of the firstcontrol signal and the first voice signal is transmitted from thedigital communication device to a second digital communication devicewithin the local communication range, and the at least one of the firstcontrol signal and the first voice signal is transmitted from the seconddigital communication device to a third digital communication deviceoutside the local communication range and within the extendedcommunication range.
 15. The digital communication device according toclaim 13 further comprising a free-for-all mode button and wherein thecomputation unit is further configured to control the transmitter totransmit the voice communication as the first voice signal to the otherdigital communication devices upon selection of the free-for-all modebutton and the transmit button such that the first voice signal isreceived by the other digital communication devices, and the voicecommunication is output on a speaker of the other digital communicationdevices.
 16. The digital communication device according to claim 13further comprising an emergency mode button and wherein the computationunit is further configured to control the transmitter to transmit thevoice communication as the first voice signal to the other digitalcommunication devices upon selection of the emergency mode button andthe transmit button, the voice signal is received by the other digitalcommunication devices, and the voice communication is output on aspeaker of the other digital communication devices.
 17. The digitalcommunication device according to claim 13, wherein the user interfaceincludes a distress call button, and wherein the computational unit isfurther configured to control the transmitter to transmit a distresscall signal to the other digital communication devices upon selection ofthe distress call button and the distress call signal is represented onthe other digital communication devices by at least one of an audiblesignal output on the speaker, a visual indication displayed on thedisplay area, and a vibration.
 18. The digital communication deviceaccording to claim 13, wherein the computational unit is configured toblock voice communication from the other digital communication deviceswithin the communication range that correspond to one or more digitalcommunication devices selected from the selectable list.
 19. The digitalcommunication device according to claim 13, wherein the receiver isconfigured to receive one or more advertisements and wherein the one ormore advertisements are displayed on the display area.
 20. The digitalcommunication device according to claim 13, further comprising a systemunit configured to determine a current location using radio signals. 21.The digital communication device according to claim 20, wherein theradio signals comprise Global Positional System (GPS) signals.
 22. Thedigital communication device according to claim 20, wherein the currentlocation is displayed on the display area.
 23. The digital communicationdevice according to claim 20, wherein the identifying informationincludes the current location.
 24. The digital communication deviceaccording to claim 20, wherein a relative direction is displayed on thedisplay area and corresponds to the current location of at least one ofthe other digital communication devices.